package com.devilvan.betrice.douban.service;

import com.devilvan.betrice.common.BetriceResultVo;
import com.devilvan.betrice.douban.dto.DoubanMovieTop250Dto;
import com.devilvan.betrice.douban.po.DoubanMovieTop250Po;

import java.util.List;
import java.util.Map;

/**
 * @author Evad.Wu
 * @Description 豆瓣-电影前250名排行榜表 业务逻辑接口
 * @date 2022-12-15
 */
public interface DoubanMovieTop250Service {
    /**
     * 保存
     *
     * @param doubanMovieTop250Dto 控制层处理后的数据传输对象
     * @return 保存回调对象
     */
    DoubanMovieTop250Po saveUpdate(DoubanMovieTop250Dto doubanMovieTop250Dto);

    /**
     * 批量保存
     *
     * @param list 控制层处理后的数据传输对象集合
     * @return 保存回调对象
     */
    List<DoubanMovieTop250Po> saveUpdateBatch(List<DoubanMovieTop250Dto> list);

    /**
     * 解析报文控制器
     *
     * @return 形式返回
     */
    BetriceResultVo<DoubanMovieTop250Po> doDoubanMovieTop250Request();

    /**
     * 采集报文控制器
     *
     * @param subHeaders 请求头信息
     * @return 形式返回
     */
    BetriceResultVo<DoubanMovieTop250Po> doDoubanMovieTop250Crawler(Map<String, String> subHeaders);

    /**
     * 根据PID查找电影信息
     *
     * @return 结果记录
     */
    DoubanMovieTop250Po findByPid(Long pid);
}